package ar.edu.untref.robotica.simulador;

/**
 * Contiene las configuraciones iniciales del robot. Ejemplo: posicion inicial
 */
public class Configuracion {

	private static final Configuracion instancia = new Configuracion();

	private Posicion posicionInicial;
	private String rutaDelMapa;
	private double altoRobot;
	private double anchoRobot;
	private double distanciaSegura;
	private double relacionCentimetroCelda;
	
	//en mil�metros
	private double diametroRuedas = 50;
	private double distanciaEntreRuedas = 300;
	private double reduccionRuedaMotor = 1;
	private double pulsosEncoder = 1;
	
	//Sensores
	private double sensorFrontal1Angulo;
	private double sensorFrontal1X;
	private double sensorFrontal1Y;
	
	private double sensorFrontal2Angulo;
	private double sensorFrontal2X;
	private double sensorFrontal2Y;
	
	private double sensorDerechoAngulo;
	private double sensorDerechoX;
	private double sensorDerechoY;
	
	private double sensorIzquierdoAngulo;
	private double sensorIzquierdoX;
	private double sensorIzquierdoY;
	
	private double sensorAtrasAngulo;
	private double sensorAtrasX;
	private double sensorAtrasY;
	
	private String rutaDelLog;

	private Configuracion() {
	}

	public static Configuracion instancia() {
		return instancia;
	}

	public Posicion getPosicionInicial() {
		return this.posicionInicial;
	}

	public void setPosicionInicial(Posicion posicionInicial) {
		this.posicionInicial = posicionInicial;
	}

	public String getRutaDelMapa() {
		return rutaDelMapa;
	}

	public void setRutaDelMapa(String rutaDelMapa) {
		this.rutaDelMapa = rutaDelMapa;
	}

	public double getAltoRobot() {
		return this.altoRobot;
	}

	public void setAltoRobot(double altoRobot) {
		this.altoRobot = altoRobot;
	}

	public double getAnchoRobot() {
		return this.anchoRobot;
	}

	public void setAnchoRobot(double anchoRobot) {
		this.anchoRobot = anchoRobot;
	}

	public double getDistanciaSegura() {
		return this.distanciaSegura;
	}

	public void setDistanciaSegura(double distanciaSegura) {
		this.distanciaSegura = distanciaSegura;
	}

	public double getRelacionCentimetroCelda() {
		return this.relacionCentimetroCelda;
	}
	
	public void setRelacionCentimetroCelda(double relacionCentimetroCelda) {
		this.relacionCentimetroCelda = relacionCentimetroCelda;
	}

	public double getSensorFrontal1Angulo() {
		return sensorFrontal1Angulo;
	}

	public void setSensorFrontal1Angulo(double sensorFrontal1Angulo) {
		this.sensorFrontal1Angulo = sensorFrontal1Angulo;
	}

	public double getSensorFrontal1X() {
		return sensorFrontal1X;
	}

	public void setSensorFrontal1X(double sensorFrontal1X) {
		this.sensorFrontal1X = sensorFrontal1X;
	}

	public double getSensorFrontal1Y() {
		return sensorFrontal1Y;
	}

	public void setSensorFrontal1Y(double sensorFrontal1Y) {
		this.sensorFrontal1Y = sensorFrontal1Y;
	}

	public double getSensorFrontal2Angulo() {
		return sensorFrontal2Angulo;
	}

	public void setSensorFrontal2Angulo(double sensorFrontal2Angulo) {
		this.sensorFrontal2Angulo = sensorFrontal2Angulo;
	}

	public double getSensorFrontal2X() {
		return sensorFrontal2X;
	}

	public void setSensorFrontal2X(double sensorFrontal2X) {
		this.sensorFrontal2X = sensorFrontal2X;
	}

	public double getSensorFrontal2Y() {
		return sensorFrontal2Y;
	}

	public void setSensorFrontal2Y(double sensorFrontal2Y) {
		this.sensorFrontal2Y = sensorFrontal2Y;
	}

	public double getSensorDerechoAngulo() {
		return sensorDerechoAngulo;
	}

	public void setSensorDerechoAngulo(double sensorDerechoAngulo) {
		this.sensorDerechoAngulo = sensorDerechoAngulo;
	}

	public double getSensorDerechoX() {
		return sensorDerechoX;
	}

	public void setSensorDerechoX(double sensorDerechoX) {
		this.sensorDerechoX = sensorDerechoX;
	}

	public double getSensorDerechoY() {
		return sensorDerechoY;
	}

	public void setSensorDerechoY(double sensorDerechoY) {
		this.sensorDerechoY = sensorDerechoY;
	}

	public double getSensorIzquierdoAngulo() {
		return sensorIzquierdoAngulo;
	}

	public void setSensorIzquierdoAngulo(double sensorIzquierdoAngulo) {
		this.sensorIzquierdoAngulo = sensorIzquierdoAngulo;
	}

	public double getSensorIzquierdoX() {
		return sensorIzquierdoX;
	}

	public void setSensorIzquierdoX(double sensorIzquierdoX) {
		this.sensorIzquierdoX = sensorIzquierdoX;
	}

	public double getSensorIzquierdoY() {
		return sensorIzquierdoY;
	}

	public void setSensorIzquierdoY(double sensorIzquierdoY) {
		this.sensorIzquierdoY = sensorIzquierdoY;
	}

	public double getSensorAtrasAngulo() {
		return sensorAtrasAngulo;
	}

	public void setSensorAtrasAngulo(double sensorAtrasAngulo) {
		this.sensorAtrasAngulo = sensorAtrasAngulo;
	}

	public double getSensorAtrasX() {
		return sensorAtrasX;
	}

	public void setSensorAtrasX(double sensorAtrasX) {
		this.sensorAtrasX = sensorAtrasX;
	}

	public double getSensorAtrasY() {
		return sensorAtrasY;
	}

	public void setSensorAtrasY(double sensorAtrasY) {
		this.sensorAtrasY = sensorAtrasY;
	}

	public double getDiametroRuedas() {
		return diametroRuedas;
	}

	public void setDiametroRuedas(double diametroRuedas) {
		this.diametroRuedas = diametroRuedas;
	}

	public double getReduccionRuedaMotor() {
		return reduccionRuedaMotor;
	}

	public void setReduccionRuedaMotor(double reduccionRuedaMotor) {
		this.reduccionRuedaMotor = reduccionRuedaMotor;
	}

	public double getPulsosEncoder() {
		return pulsosEncoder;
	}

	public void setPulsosEncoder(double pulsosEncoder) {
		this.pulsosEncoder = pulsosEncoder;
	}

	public double getDistanciaEntreRuedas() {
		return distanciaEntreRuedas;
	}

	public void setDistanciaEntreRuedas(double distanciaEntreRuedas) {
		this.distanciaEntreRuedas = distanciaEntreRuedas;
	}

	public String getRutaDelLog() {
		return rutaDelLog;
	}

	public void setRutaDelLog(String rutaDelLog) {
		this.rutaDelLog = rutaDelLog;
	}

}